package com.simtop.service;

import com.simtop.common.ServerResponse;
import com.simtop.pojo.User;
import com.simtop.vo.TeamType;
import com.simtop.vo.UserParamsVo;
import com.simtop.vo.UserVo;
import com.simtop.vo.UserVoS;
import org.apache.ibatis.annotations.Param;
import java.io.FileInputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.python.antlr.op.In;


import java.util.List;

public interface UserService {

    ServerResponse<String> register(UserVoS userVoS,String asa);

    ServerResponse<String> generateCheckCode(String email);

    ServerResponse<String> updatePassword(UserVo userVo);

    ServerResponse<String> forgetSendEmailCode(String email);

    List<User> findAll(User user);

    ServerResponse<String> insertBackUser(UserVo userVo);

    ServerResponse<String> deleteByUserId(Integer id);

    ServerResponse<String> updateBackendUser(UserVoS userVo, String asa , int status);

    List<User> findByParams(UserParamsVo params);

    ServerResponse<Integer> accountUser();

    ServerResponse<User> findById(Integer id);

    int insertIlabUser(UserVo userVo);

    User selectUserByUserId(Integer id);

    User selectUserByLoginName(String loginName);

    /**
     * 获取首页图表信息
     * @return
     */
    ServerResponse<Object> getTopPageCount();


    /**
     * 导入用户信息
     * @param users
     * @return
     */
    public ServerResponse<Object> importUsers(List<Object> users);

    /**
     * 修改用户名
     * @param loginName
     * @param userName
     * @return
     */
    boolean updateUserName(@Param("loginName") String loginName, @Param("userName") String userName);

    List<User> findAlls();

    List<UserVoS> findAllList(String tameName , String userName);

    List<UserVoS> findAllList2(String tameName);

    void deletefindAllList(ArrayList<Integer> sqsyidlist);

    void deletefindAllListas(ArrayList<Integer> sqsyidlist);

    List<TeamType> findAllListTeam();

    List<TeamType> findtam();

    void insertAllListTeam(String teamName);

    void deleteAllListTeam(Integer id);

    int finOnly(Integer id);

    void updateAllListTeam(Integer id, String teamName);

    Integer updateLastTime(Integer id);
}
